package com.lichuang.fruitvarietysm.manage.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 订单表
 * </p>
 *
 * @author shuaihang
 * @since 2019-07-06
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("user_order")
@ApiModel(value = "UserOrder对象", description = "订单表")
public class UserOrder implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "订单id")
    @TableId(value = "order_id", type = IdType.AUTO)
    private Integer orderId;

    @ApiModelProperty(value = "订单号")
    private Long orderNo;

    @ApiModelProperty(value = "用户id")
    private Integer userId;

    @ApiModelProperty(value = "收获地址id")
    private Integer shippingId;

    @ApiModelProperty(value = "实际付款金额，单位是元，保留两位小数")
    private BigDecimal payment;

    @ApiModelProperty(value = "支付类型，1=在线支付")
    private Integer paymentType;

    @ApiModelProperty(value = "运费，单位是元")
    private Integer postage;

    @ApiModelProperty(value = "订单状态，0=待付款，1=待发货，2=待收货，3=待评价，4=交易成功，5=交易关闭，6=已取消")
    private Integer orderStatus;

    @ApiModelProperty(value = "支付时间")
    private LocalDateTime paymentTime;

    @ApiModelProperty(value = "是否已发货。1=未发货，2=已经发货")
    private Integer isSend;

    @ApiModelProperty(value = "发货时间")
    private LocalDateTime sendTime;

    @ApiModelProperty(value = "收货时间")
    private LocalDateTime receiptTime;

    @ApiModelProperty(value = "交易完成时间")
    private LocalDateTime completeTime;

    @ApiModelProperty(value = "交易关闭时间")
    private LocalDateTime closeTime;

    @ApiModelProperty(value = "记录创建时间")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "记录更新时间")
    private LocalDateTime updateTime;

    @ApiModelProperty(value = "快递单号")
    private String shipNumber;


}
